草庐IT

c++: 捕获 runtime_error

全部标签

c# - ASP.NET Web API IExceptionLogger 不捕获异常

我正在尝试设置一个全局异常处理程序,如下所述:WebAPIGlobalErrorHandling.我已经设置了一个在Controller构造函数中抛出异常的情况。但我的异常没有被记录下来。相反,WebApi只是将异常和完整堆栈跟踪作为JSON消息返回给调用客户端。我不知道这是否重要,但我的Controller操作正在使用async/await,如下所示:[HttpGet,Route("GetLocationNames")]publicasyncTask>Get(){returnawaitadapter.GetLocationNames();}我有以下实现:usinglog4net;us

c# - 你应该捕获所有异常吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。这不是“如何捕获所有异常”而是“你应该捕获所有异常”吗?在C#.NET中,我注意到了大量的异常。计划捕获每个异常是否可取?例如,DirectoryInfo()构造函数抛出4个异常。我应该计划捕捉这些还是只捕捉我能处理的那些?也许让其他人冒泡到Main()那里我有一个包罗万象的东西,然后告诉用户有一个未捕获的异常。对于所有这些可能的异常,您的代码似乎比实际

c# - 你如何捕获迭代变量?

当您捕获for循环的迭代变量时,C#将该变量视为在循环外声明的一样。这意味着在每次迭代中捕获相同的变量。以下程序写入333而不是写入012:Action[]actions=newAction[3];for(inti=0;iConsole.Write(i);foreach(Actionainactions)a();//333我正在阅读C#inaNutshell(第5版),今天我遇到了这个,但我无法理解它,我不明白为什么输出是333并且不是012。是不是因为要打印的i的值是循环之后的值?这怎么可能?i应该在循环之后处理,不是吗? 最佳答案

c# - 您如何捕获 Web 服务抛出的 soap 异常?

我成功地在我的网络服务中抛出了一些soap异常。我想捕获异常并访问异常调用的字符串和ClientFaultCode。这是我在Web服务中的一个异常示例:thrownewSoapException("Youlosethegame.",SoapException.ClientFaultCode);在我的客户端中,我尝试从可能抛出异常的Web服务运行方法,然后我捕获了它。问题是我的catchblock没有做任何事情。看这个例子:try{service.StartGame();}catch{//missingcodegoeshere}如何访问抛出异常时调用的字符串和ClientFaultCod

c# - 捕获应用程序退出事件 - WinForms

单击应用程序停止时,是否可以捕获Windows窗体关闭事件。我知道应用程序停止工作但是有什么方法可以在应用程序关闭时在任何情况下触发?我从谷歌找到了这些方法,但它们不起作用:AppDomain.CurrentDomain.ProcessExit+=newEventHandler(CurrentDomain_ProcessExit);或Application.ApplicationExit+=newEventHandler(this.OnApplicationExit);是否可以在点击应用程序停止按钮时获得关闭事件? 最佳答案 在Pr

c# - 在 Windows 窗体应用程序中捕获组合键事件

当用户按下Shift+UP键时,我希望我的表单通过调用消息框来响应。如何在Windows窗体中执行此操作? 最佳答案 处理KeyDown事件并有类似的东西:if(e.Modifiers==Keys.Shift&&e.KeyCode==Keys.Up){MessageBox.Show("Mymessage");}事件处理程序必须在主窗体上,您需要将KeyPreview属性设置为true。这可以在属性对话框的设计模式下完成。 关于c#-在Windows窗体应用程序中捕获组合键事件,我们在St

c# - 正则表达式:重复捕获组

我必须从ASCII文本文件中解析一些表格。这是部分示例:QSMDRYCELL11.0011.1011.0011.00-.9011110001.212RECKITTBEN192.50209.00192.50201.805.213428505.707RUPALIINS150.00159.00150.00156.256.29480.125SALAMCRST164.00164.75163.00163.25-.4580825013.505SINGERBD779.75779.75770.00773.00-.89895.735SONARBAINS68.0069.0067.5068.00.741130

c# - 尝试在 : await Task. 之外捕获 Run(()

在awaitTask.Run(()=>之外的trycatch是否有意义,或者仅在await内部使用它们?privateasyncvoidTest(){try{awaitTask.Run(()=>{try{DoingSomething();}catch(Exceptionex){log.Error(ex.Message);}});}catch(Exceptionex){log.Error(ex.Message);}} 最佳答案 如果你处理Exception在委托(delegate)内部(在您的情况下仅用于记录目的),await在正常情

c# - 视频捕获 + 上传 + 处理 + 流回 - .NET & C#

我们正在尝试找出.NET堆栈中可用的任何技术/库(甚至是第3方dll之上的包装器),这将帮助我们构建一个可以的应用程序1-从用户的视频设备捕获图像2-实时上传到服务器3-处理视频(在服务器中)-例如:向视频添加水印4-流式传输回用户/其他用户优选地,步骤2和步骤4之间的时间延迟/等待时间应该是最小的第一个要求(捕获)似乎很简单。挑战在于确定一种合适的方式来进行上传、处理并将其流回。任何有效的建议或想法?最近来到了FFmpeg库,它有一个C#包装器。FFmpeg是否可以用于处理端? 最佳答案 我会这样做:使用silverlight或闪

c# - 记录从捕获异常的方法外部捕获的异常

我有这样的方法:publicTResultDoSomethingWithLogging(FuncsomeAction){try{returnsomeAction.Invoke();}catch(Exceptionex){LogException(ex)throw;}这个方法的用法如下:varresult=DoSomethingWithLogging(()=>Foo());我还想记录在Foo()中捕获的异常。我不能在Foo的catch中使用throw。如何捕获此类异常?示例:publicstaticstringFoo(){try{return"Foo";}catch(Exception)